3,398 research outputs found
Efficient Groundness Analysis in Prolog
Boolean functions can be used to express the groundness of, and trace
grounding dependencies between, program variables in (constraint) logic
programs. In this paper, a variety of issues pertaining to the efficient Prolog
implementation of groundness analysis are investigated, focusing on the domain
of definite Boolean functions, Def. The systematic design of the representation
of an abstract domain is discussed in relation to its impact on the algorithmic
complexity of the domain operations; the most frequently called operations
should be the most lightweight. This methodology is applied to Def, resulting
in a new representation, together with new algorithms for its domain operations
utilising previously unexploited properties of Def -- for instance,
quadratic-time entailment checking. The iteration strategy driving the analysis
is also discussed and a simple, but very effective, optimisation of induced
magic is described. The analysis can be implemented straightforwardly in Prolog
and the use of a non-ground representation results in an efficient, scalable
tool which does not require widening to be invoked, even on the largest
benchmarks. An extensive experimental evaluation is givenComment: 31 pages To appear in Theory and Practice of Logic Programmin
A Semantic Basis for Specialising Domain Constraints
This paper formalises an analysis of finite domain programs and the resultant program transformation. The analysis adds low valency (domain) constraints to clauses in order to reduce search. The technique is outlined with a worked example and then formalised using abstract interpretation. Correctness of the analysis and of the transformation is proved
Three Optimisations for Sharing
In order to improve precision and efficiency sharing analysis should track
both freeness and linearity. The abstract unification algorithms for these
combined domains are suboptimal, hence there is scope for improving precision.
This paper proposes three optimisations for tracing sharing in combination with
freeness and linearity. A novel connection between equations and sharing
abstractions is used to establish correctness of these optimisations even in
the presence of rational trees. A method for pruning intermediate sharing
abstractions to improve efficiency is also proposed. The optimisations are
lightweight and therefore some, if not all, of these optimisations will be of
interest to the implementor.Comment: To appear in Theiry and Practice of Logic Programmin
A Method for Visualizing the Structural Complexity of Organizational Architectures
To achieve a high level of performance and efficiency, contemporary aerospace systems must become increasingly complex. While complexity management traditionally focuses on a product’s components and their interconnectedness, organizational representation in complexity analysis is just as essential. This thesis addresses this organizational aspect of complexity through an Organizational Complexity Metric (OCM) to aid complexity management. The OCM augments Sinha’s structural complexity metric for product architectures into a metric that can be applied to organizations. Utilizing nested numerical design structure matrices (DSMs), a compact visual representation of organizational complexity was developed. Within the nested numerical DSM are existing organizational datasets used to quantify the complexity of both organizational system components and their interfaces. The OCM was applied to a hypothetical system example, as well as an existing aerospace organizational architecture. Through the development of the OCM, this thesis assumed that each dataset was collected in a statistically sufficient manner and has a reasonable correlation to system complexity. This thesis recognizes the lack of complete human representation and aims to provide a platform for expansion. Before a true organizational complexity metric can be applied to real systems, additional human considerations should be considered. These limitations differ from organization to organization and should be taken into consideration before implementation into a working system. The visualization of organizational complexity uses a color gradient to show the relative complexity density of different parts of the organization
A Pearl on SAT Solving in Prolog (Logic Programming Newsletter)
Extended abstract for Association of Logic Programming (ALP) Newsletter on FLOPS/TCS special issue paper on SAT and SMT solving in Prolog
- …